home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 1, No. 05 (1982-01)(Softdisk)(Side B).zip / Softdisk Magazette Volume 1, No. 05 (1982-01)(Softdisk)(Side B).do / A.B.M..bas next >
BASIC Source File  |  1996-12-24  |  6KB  |  117 lines

  1. 1  REM  A.B.M 2.0
  2. 2  REM  JACK KENNE
  3. 3  REM 
  4. 10  TEXT : HOME 
  5. 20  GOSUB 1030: REM  INSTRUCTIONS
  6. 30  INPUT "DIFFICULTY 1 - HARDEST, 6 - EASY :";DF
  7. 40  INPUT "ABM SPEED 1-5 :";SP
  8. 50  GOTO 650
  9. 60  REM  PLOT CROSS HAIRS
  10. 70  SCALE= 2: HCOLOR= 3
  11. 80  XDRAW 2 AT X2,Y2:PX =  PDL(1)/255 *279:PY =  PDL(0)/255 *145:X2 = PX:Y2 = PY: DRAW 2 AT X2,Y2
  12. 90  FOR I = 1 TO 3:P0 =  PEEK( -16287):P1 =  PEEK( -16286): NEXT I
  13. 100  IF (P0 >127  OR P1 >127)  AND MF = 0  THEN 190
  14. 110  GOTO 230
  15. 120  REM  GET NEW BOMB
  16. 130 BX =  INT( RND(1) *270):BX = BX +5
  17. 140 BY = 1:BD =  INT( RND(1) *3 +1)
  18. 150 BF = 1
  19. 160  IF BD >2  THEN BD =  -1: GOTO 640
  20. 170  IF BD <2  THEN BD = 0: GOTO 640
  21. 180 BD = 1: GOTO 640
  22. 190  REM  ABM FIRED
  23. 200 MX = 140:MY = 156
  24. 210 TX = X2:TY = Y2
  25. 220 MF = 1
  26. 230  REM  MOVE ABM
  27. 240  IF MF = 0  THEN 420
  28. 250 DX =  SGN(TX -MX) *SP:DY =  SGN(TY -MY) *SP
  29. 260  SCALE= 1: HCOLOR= 3
  30. 270  XDRAW 3 AT MX,MY:MX = MX +DX:MY = MY +DY
  31. 280  IF MX <1  THEN MX = MX +278
  32. 290  IF MX >279  THEN MX = MX -278
  33. 300  IF MY <2  THEN MY = 2
  34. 310  IF MY >155  THEN MY = 155
  35. 320  DRAW 3 AT MX,MY
  36. 330  REM  CHECK FOR TARGET ARRIVAL
  37. 340 D =  SQR((TX -MX) ^2 +(TY -MY) ^2): IF D >SP  THEN 420
  38. 350  REM  AIR BLAST
  39. 360  HCOLOR= 5: FOR I = 1 TO 3: SCALE= I: DRAW 1 AT MX,MY:Z =  PEEK( -16336) + PEEK( -16336) + PEEK( -16336) + PEEK( -16336) + PEEK( -16336)
  40. 370  NEXT I
  41. 380 MF = 0
  42. 390 D =  SQR((TX -BX) ^2 +(TY -BY) ^2): IF D >DF  THEN 420: REM  MISSED
  43. 400  REM  GOT IT!
  44. 410 BF = 0:SC = SC +25: IF SC >HS  THEN HS = SC
  45. 420  REM  NOT TO TARGET YET
  46. 430  IF BF = 0  THEN 120: REM   GET NEW BOMB 
  47. 440 BX = BX +BD
  48. 450  IF BX <1  THEN BX = BX +279
  49. 460  IF BX >279  THEN BX = BX -279
  50. 470  HCOLOR= 3:BY = BY +1: HPLOT BX,BY
  51. 480  IF BY >155  THEN 500: REM  BOOOOM!
  52. 490  GOTO 600
  53. 500  REM  BOOOM!
  54. 510 BF = 0
  55. 520  HCOLOR= 2: FOR I = 1 TO 3: SCALE= I: DRAW 1 AT BX,BY:Z =  PEEK( -16336) + PEEK( -16336) + PEEK( -16336) + PEEK( -16336) + PEEK( -16336)
  56. 530  NEXT 
  57. 540 SC = SC -25
  58. 550  IF BX <26  THEN SC = SC -50:B0 = B0 +1: GOTO 600
  59. 560  IF BX >89  AND BX <122  THEN SC = SC -100:N0 = N0 +1: GOTO 600
  60. 570  IF BX >159  AND BX <186  THEN D0 = D0 +1: GOTO 600
  61. 580  IF BX >249  THEN SC = SC = 50:M0 = M0 +1: GOTO 600
  62. 590  IF BX >137  AND BX <143  THEN L0 = L0 +1: GOTO 600
  63. 600  REM  CHECK END OF GAME
  64. 610  IF B0 > = 3  OR N0 > = 3  OR D0 > = 3  OR M0 > = 3  OR L0 > = 3  THEN  END 
  65. 620  VTAB 22: HTAB 3: PRINT B0;: HTAB 15: PRINT N0;: HTAB 26: PRINT D0;: HTAB 38: PRINT M0;
  66. 630  VTAB 23: HTAB 1: PRINT "SCORE: "SC"  ";: HTAB 25: PRINT "HIGH SCORE: "HS"  ";
  67. 640  GOTO 60
  68. 650  REM  DRAW CITIES
  69. 660  HOME 
  70. 670  HGR : HCOLOR= 3
  71. 680  REM  BOSTON
  72. 690 X = 1
  73. 700  READ Y1,Y2: HPLOT X,Y1 TO X,Y2
  74. 710  FOR X = 2 TO 24: READ Y1,Y2: HPLOT  TO X,Y1 TO X,Y2: NEXT X
  75. 720  REM  NYC
  76. 730 X = 91
  77. 740  READ Y1,Y2: HPLOT X,Y1 TO X,Y2
  78. 750  FOR X = 92 TO 120: READ Y1,Y2: HPLOT  TO X,Y1 TO X,Y2: NEXT X
  79. 760  REM  D.C.
  80. 770 X = 161
  81. 780  READ Y1,Y2: HPLOT X,Y1 TO X,Y2
  82. 790  FOR X = 162 TO 184: READ Y1,Y2: HPLOT  TO X,Y1 TO X,Y2: NEXT X
  83. 800  REM  MIAMI
  84. 810 X = 251
  85. 820  READ Y1,Y2: HPLOT X,Y1 TO X,Y2
  86. 830  FOR X = 252 TO 276: READ Y1,Y2: HPLOT  TO X,Y1 TO X,Y2: NEXT X
  87. 840  HPLOT 0,159 TO 279,159: HCOLOR= 0: HPLOT 138,159 TO 142,159
  88. 850  VTAB 21: HTAB 1: PRINT "BOSTON";: HTAB 12: PRINT "NEW YORK";: HTAB 22: PRINT "WASHINGTON";: HTAB 35: PRINT "MIAMI"
  89. 860  FOR AD = 768 TO 807: READ D: POKE AD,D: NEXT 
  90. 870  POKE 232,0: POKE 233,3
  91. 880  REM  DATA FOR CITIES
  92. 890  DATA 159,156,156,159,159,154,154,159,159,156,156,159,159,152,152,159,159,156,156,159,159,159,159,159,159,156,156,159,159,154,154,159,159,156,156,159,159,159,159,159,159,150,150,159,159,154,154,159
  93. 900  DATA  159,147,147,159,159,156,156,159,159,147,147,159,159,159,159,159,159,150,150,159,159,148,148,159,159,150,150,159,159,159,159,159,159,150,150,159,159,154,154,159,159,152,152,159,159,159,159,159,159,154,154,159,159,156,156,159
  94. 910  DATA 159,156,156,159
  95. 920  DATA 159,156,156,159,159,154,154,159,159,152,152,159,159,154,154,159,159,156,156,159,159,159,159,159,159,148,148,159,159,159,159,159,159,156,156,159,159,156,156,159,159,156,156,159,159,156,156,159
  96. 930  DATA 159,154,154,159,159,154,154,159,159,156,156,159,159,159,159,159,159,151,151,159,159,153,153,159,159,156,156,159,159,153,153,159,159,159,159,159,159,156,156,159,159,153,153,159,159,153,153,159,159,148,148,159
  97. 940  REM  PARAMETERS OF SHAPE TABLE
  98. 950  DATA 3,0,8,0,22,0,32,0
  99. 960  REM  SHAPE #1 : EXPLOSION
  100. 970  DATA 146,37,37,37,60,60,60,55,55,55,46,46,46,00
  101. 980  REM  SHAPE #2 : CROSS HAIRS
  102. 990  DATA 50,14,8,8,56,199,228,146,63,00
  103. 1000  REM  SHAPE #3 : ABM
  104. 1010  DATA 54,54,9,60,60,55,55,0
  105. 1020  GOTO 60
  106. 1030  VTAB 10: HTAB 17: PRINT "A.B.M": VTAB 15: HTAB 11: PRINT "APPLESOFT VERSION": VTAB 17: HTAB 19: PRINT "BY": VTAB 19: HTAB 15: PRINT "JACK KENNE"
  107. 1040  VTAB 22: HTAB 7: PRINT "DO YOU WANT INSTRUCTIONS ?";: GET I$: PRINT : IF I$ = "Y"  THEN 1060
  108. 1050  RETURN 
  109. 1060  HOME : PRINT "   ANY MOMENT NOW THE ORBITING NUCLEAR  WARHEADS WILL BEGIN THEIR RE-ENTRY...": PRINT : PRINT "  YOU ARE IN CONTROLL OF AN ANTI-BALLIS-TIC MISSLE LAUNCHING SITE WHICH IS"
  110. 1070  PRINT "COVERING A PORTION OF THE EAST COAST.": PRINT : PRINT "   TO DESTROY A FALLING WARHEAD, YOU    MUST CAUSE AN ABM TO EXPLODE CLOSE TO   IT.  THE DIFFICULTY LEVEL YOU SELECT"
  111. 1080  PRINT "WILL DETERMINE JUST HOW CLOSE YOUR ABM  MUST BE, AND THE ABM SPEED YOU SELECT   WILL DETERMINE HOW FAR YOU MUST LEAD    THE WARHEAD."
  112. 1090  PRINT : PRINT "   POSITION THE CROSS HAIRS WITH THE    GAME PADDLES, PRESS EITHER BUTTON TO    FIRE, THE ABM WILL EXPLODE UPON ARRIVAL."
  113. 1100  GOSUB 1140
  114. 1110  HOME : PRINT "   YOU RECEIVE POINTS BY DESTROYING WAR-HEADS BEFORE THEY REACH THE GROUND,     POINTS ARE DEDUCTED FROM YOUR SCORE     WHEN A WARHEAD DOES HIT.
  115. 1120  PRINT : PRINT "THE GAME IS OVER WHEN ANY CITY (OR YOUR LAUNCH SITE) RECEIVES THREE HITS.": PRINT : PRINT "   BY THE WAY, THE FALLING WARHEADS WILLLEAVE A SMOKEY TRAIL AS THEY FALL. IN A LONG GAME IT GETS HARDER AND HARDER TO"
  116. 1130  PRINT "SPOT THE NEXT BOMB.": PRINT : PRINT  TAB( 15)"GOOD LUCK!": GOSUB 1140: GOTO 1050
  117. 1140  VTAB 23: HTAB 8: PRINT "TYPE ANY KEY TO CONTINUE ";: GET I$: PRINT : RETURN